package com.innovus.doomi;
/**
* Created by Jorge Viveros on 11/11/2014.
*/
import android.accounts.Account;
import android.accounts.AccountManager;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.support.annotation.Nullable;
import com.appspot.domi_app.domi.Domi;
import com.google.android.gms.auth.GoogleAuthUtil;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.api.client.extensions.android.http.AndroidHttp;
import com.google.api.client.extensions.android.json.AndroidJsonFactory;
import com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
/**
* Application constants.
*/
public class AppConstants {
/**
* Your WEB CLIENT ID from the API Access screen of the Developer Console for your project. This
* is NOT the Android client id from that screen.
*
* @see <a href="https://developers.google.com/console">https://developers.google.com/console</a>
*/
public static final String WEB_CLIENT_ID = "204916157214-1hho3fgafmt30l9kt7rljls1qttbeb3n.apps.googleusercontent.com";
public static final String AUDIENCE = "server:client_id:" + WEB_CLIENT_ID;
public static final JsonFactory JSON_FACTORY = new AndroidJsonFactory();
public static final HttpTransport HTTP_TRANSPORT = AndroidHttp.newCompatibleTransport();
public static Domi getApiServiceHandle(@Nullable GoogleAccountCredential credential) {
// Use a builder to help formulate the API request.
Domi.Builder helloWorld = new Domi.Builder(AppConstants.HTTP_TRANSPORT,
AppConstants.JSON_FACTORY,credential);
return helloWorld.build();
}
//Agrega un metodo para contar el numero de cuentas de google
public static int countGoogleAccounts(Context context) {
AccountManager am = AccountManager.get(context);
Account[] accounts = am.getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
if (accounts == null || accounts.length < 1) {
return 0;
} else {
return accounts.length;
}
}
public static boolean checkGooglePlayServicesAvailable(Activity activity) {
final int connectionStatusCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(activity);
if (GooglePlayServicesUtil.isUserRecoverableError(connectionStatusCode)) {
// GooglePlayServicesUtil.showErrorDialogFragment(connectionStatusCode, activity);
showGooglePlayServicesAvailabilityErrorDialog(activity, connectionStatusCode);
return false;
}
return true;
}
public static void showGooglePlayServicesAvailabilityErrorDialog(final Activity activity,
final int connectionStatusCode) {
final int REQUEST_GOOGLE_PLAY_SERVICES = 0;
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
Dialog dialog = GooglePlayServicesUtil.getErrorDialog(
connectionStatusCode, activity, REQUEST_GOOGLE_PLAY_SERVICES);
dialog.show();
}
});
}
}